Some types of computer software applications (e.g., analytical applications) may have enormous amounts of complex data available to present. This information may be made available through a graphical user interface (GUI). A GUI may facilitate presenting this data in different windows and may facilitate navigating through these windows using menus, hyperlinks, and so on. Windows in which data may be presented may have attributes (e.g., location, size, ancestors, descendants), may consume resources (e.g., memory, display space), and may be user-configurable. Thus, conventional programs including operating systems, windows managers, and so on may have provided some windows management capabilities. These capabilities may have included, for example, single step linear navigation forward or backward, “favorites” navigation, a history list, window spawning, single window termination, window modality control, and so on. However, when employed in an environment characterized by voluminous information concerning decision making, task analysis, real time analysis, and so on, these capabilities may not have prevented both system resources and user cognitive abilities being overwhelmed.
By way of illustration, in complex analytical applications, analysts may examine several information sets by following multi-step sequences of presentations provided in numerous windows. The sequences may include linear and/or non-linear forward and/or backward navigation through the windows as various mental connections are made (e.g., as a user “drills down” from higher to successively lower levels of data). Furthermore, the sequences may trace paths through different (un)related sets of data available in different windows. Conventionally it may have been difficult, if possible at all, to retrace a path through a non-linear sequence of windows, to collectively remove a subset of windows from a sequence of windows, to intelligently position certain sets of windows, to recycle system resources, and so on. Thus, conventional systems may have provided unsatisfactory support for balancing tradeoffs between displaying sufficient information while managing limited resources (e.g., display space, memory). This may have taxed both user cognition and system performance.